The present invention relates to network testing and diagnostic tools, and more particularly, to an improved method and apparatus for measuring the performance of a network under normal and heavy load conditions.
A number of network testing and diagnostic tools have been developed or proposed to evaluate routes in a communication network and thereby prevent network breakdowns and improve system performance. The TraceRT(trademark) tool in Windows 95(trademark) or the traceroute command in UNIX(trademark), for example, allows a user to view the topology of a particular network connection and sends a message through the network along the specified route. Each node along the route inserts the current local time into the message (relative to a predefined standard time) and forwards the message to the next node in the specified path.
Since the various nodes in the network are a loosely connected network of independent processors, there is no time synchronization accurate to the levels required to measure sub-millisecond delays and time. Thus, it is difficult to identify where a given message slows down along a particular route. In addition, the clock differences between various nodes may cause the inter-node time to be a negative number. In addition, the TraceRT(trademark) tool does not permit a load to be created on the system that will simulate the workload that the system would see under normal operating conditions. Although load generators have been used with some success in the laboratory environment, these tools are costly to simulate a heavy load, and are not feasible to use in a field environment.
As apparent from the above-described deficiencies with conventional network testing and diagnostic tools, a need exists for a network testing and diagnostic tool that accurately measures the performance of a network or system under normal and heavy load conditions. A further need exists for a testing and diagnostic tool that measures the delays through a specified route in a network. Yet another need exists for a testing and diagnostic tool that generates a load on specific elements in the network or system and measures the system reaction.
Generally, a method and apparatus are disclosed for measuring network performance and performing stress analysis. The present invention allows system delays through a network to be measured while selectively placing loads on nodes in the network. According to a feature of the present invention, each node in the network recognizes and processes a directed load/performance message (DLP) that travels along a specified route and measures the delays within the network. The directed load/performance message (DLP) is a self-guided packet that traverses the network along a path specified by the initiator of the message and then returns to the message initiator by means of the same routing in the reverse direction.
According to one aspect of the invention, each node inserts its current (local) time into the directed load/performance message (DLP) as the node processes the DLP message on both the forward and reverse legs of the specified path. Although the clocks in each node are generally not synchronized to each other, the delay seen by each node in the network can be obtained by subtracting the time-stamps inserted in the message by each node as the node processes the message in each direction. The xe2x80x9cround trip timexe2x80x9d is the time it takes the message to leave and return to the same node in the round trip path. Thus, the round trip time provides the highly accurate delay seen by a given node. The incremental delay time is the time it takes for the message to travel between two adjacent nodes on a given leg of the path.
According to another aspect of the invention, heavy load and overload conditions can be simulated on specific nodes in the network, to observe the behavior of the node under stress. The DLP message can optionally indicate a predefined number of CPU cycles or CPU consumption specified in selected time units that each node should burn (or consume) in order to simulate a load. Thus, stress analysis can be performed without expensive load generation hardware in a more efficient manner.
The present invention allows network delays to be measured between two nodes without writing specific software code. A DLP message can be launched that passes through the nodes of interest, collects desired round trip information and returns the results to the initiator. In one implementation, a non-critical node can be used as a test bed to evaluate the performance of critical nodes.
A more complete understanding of the present invention, as well as further features and advantages of the present invention, will be obtained by reference to the following detailed description and drawings.